package fiuba.algo3.gpschallenge.modelo.Efectos;

import java.awt.Image;

import javax.swing.ImageIcon;

import fiuba.algo3.gpschallenge.modelo.Jugador;
import fiuba.algo3.gpschallenge.modelo.vehiculos.Automovil;
import fiuba.algo3.gpschallenge.modelo.vehiculos.Camioneta;
import fiuba.algo3.gpschallenge.modelo.vehiculos.Moto;

public class SorpresaDesfavorable implements Efecto {

	

	private static final long serialVersionUID = 1L;
	private boolean sorpresaAbierta = false;

	//al modificar la cantidad de movimientos se trunca a entero, no se redondea.
	private void aplicarEfecto(Jugador jugador){
		
		int movimientosAntiguos,movimientosActuales;
		movimientosAntiguos = jugador.getMovimientos();
		movimientosActuales= (int) (movimientosAntiguos * 1.25);
		jugador.setMovimientos(movimientosActuales);
			
	}

	
	@Override
	public void aplicar(Automovil auto, Jugador jugador) {
		if (sorpresaAbierta == false){
			aplicarEfecto(jugador);
			sorpresaAbierta = true;
		}
		
	}

	@Override
	public void aplicar(Camioneta camioneta, Jugador jugador) {
		if (sorpresaAbierta == false){
			aplicarEfecto(jugador);
			sorpresaAbierta = true;
		}
	}

	@Override
	public void aplicar(Moto moto, Jugador jugador) {
		if (sorpresaAbierta == false){
			aplicarEfecto(jugador);		
			sorpresaAbierta = true;
		}
	}

    @Override
    public Image getImagen() {
		if (sorpresaAbierta == false)
            return (new ImageIcon("./src/fiuba/algo3/gpschallenge/gui/Imagenes/regaloCerrado.jpg").getImage());
		else 
			return (new ImageIcon("./src/fiuba/algo3/gpschallenge/gui/Imagenes/regaloAbierto.jpg").getImage());
    }

		
}
